package com.fowo.api.model.amazon.reimbursements;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 亚马逊赔偿表 导入导出辅助模型 */
@Getter
@Setter
public class AmazonReimbursementsExcelPo {

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺")
  private String sidShopName;

  @ExcelIgnore
  @ExcelProperty(value = "店铺")
  private Long sid;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "国家")
  private String countryName;

  @ExcelIgnore
  @ExcelProperty(value = "国家")
  private Long country;

  @Size(max = 50, message = "批准日期长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "批准日期")
  private java.util.Date approvalDate;

  @Size(max = 50, message = "赔偿编号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "赔偿编号")
  private String reimbursementId;

  @Size(max = 50, message = "订单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "订单号")
  private String amazonOrderId;

  @Size(max = 50, message = "原因长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "原因")
  private String reason;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String msku;

  @Size(max = 50, message = "FNSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "FNSKU")
  private String fnsku;

  @Size(max = 50, message = "ASIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ASIN")
  private String asin;

  @Size(max = 10000, message = "标题长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "标题")
  private String itemName;

  @Size(max = 50, message = "状况长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "状况")
  private String condition;

  @Size(max = 50, message = "币种长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "币种")
  private String currencyUnit;

  @Size(max = 50, message = "每件商品赔偿金额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "每件商品赔偿金额")
  private String amountPerUnit;

  @Size(max = 50, message = "总金额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "总金额")
  private String amountTotal;

  @Size(max = 50, message = "赔偿数量（现金）长度不能超过20")
  @ExcelProperty(value = "赔偿数量（现金）")
  private Integer quantityReimbursedCash;

  @Size(max = 50, message = "赔偿数量（库存）长度不能超过20")
  @ExcelProperty(value = "赔偿数量（库存）")
  private Integer quantityReimbursedInventory;

  @Size(max = 50, message = "赔偿数量（总计）长度不能超过20")
  @ExcelProperty(value = "赔偿数量（总计）")
  private Integer quantityReimbursedTotal;

  @Size(max = 50, message = "原始赔偿编号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "原始赔偿编号")
  private String originalReimbursementId;

  @Size(max = 50, message = "赔偿类型长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "赔偿类型")
  private String originalReimbursementType;
}
